global root_dir = "`1'"

include "$root_dir/code/config/config.do"

cap noi log using ${log_dir}/table_9_minimum_wage.log, replace name(tabl)

capture noi {


    do ${code_dir}/config/tabletools.do

    use ${final_dir}/regression_dataset_from1970_tfacit1.dta, clear
    tab year, gen(YY_)


    estimates clear
    clonevar stockown = k${depvar}_${ttt} 
    clonevar stockownzero = k${depvar}_${ttt}0  
    clonevar stockother = kNOT_${depvar}_${ttt} 
    clonevar stockotherzero = kNOT_${depvar}_${ttt}0	
    clonevar LSW = lswMPx_1995_a
    clonevar HSW = hswMPx_1995_a
    clonevar VAEMP = vaempMPx_1995_a
    clonevar GDPGAP = lngdpgapx_1995_a
    clonevar GDPPC = gdppcMPx_1995_a
    clonevar MINW = minwMPx_1995_a
    clonevar spilloversown = spill${depvar}${ttt}_1995_a
    clonevar spilloversother = spillN${depvar}${ttt}_1995_a
    clonevar spilloversownzero = spill${depvar}${ttt}_1995_a0
    clonevar spilloversotherzero = spillN${depvar}${ttt}_1995_a0
    bys lse_id : egen _total_${depvar}_${ttt}_1995 = sum(${depvar}_${ttt}) if year>=1995+2 & year <= 2009+2
    bys lse_id : egen total_${depvar}_${ttt}_1995 = max(_total_${depvar}_${ttt}_1995)
    drop _total_${depvar}_${ttt}_1995
    sort lse_id year
    egen yearctry = group(year country_shr_1995) if year <= 2009
    egen yearindustry = group(year industry) if year <= 2009
    egen yearctryindustry = group(year industry country_shr_1995) if year <= 2009
    gen clustering_at = "lse_id"


    * 1) F + IY
    ppmlhdfe F2.${depvar}_${ttt} MINW HSW GDPGAP stockown stockownzero stockother stockotherzero spilloversown spilloversownzero spilloversother spilloversotherzero if year>=1995 & minwhctry_weight_minwMP < 1 & missing_weights_minw_1995==0 & missing_spill_weights_1995 == 0 & total_${depvar}_${ttt}_1995>0, vce(cluster lse_id) absorb(lse_id yearindustry)
    hasvar spill* stock*, local(stockspill)
    estadd local f "\yes"
    estadd local iy "\yes"
    estadd local cy "\no"
    estadd local obs "{\num{`e(N)'}}"
    estadd local firms "{\num{`e(N_clust)'}}"
    estimates store col_1
    * 2) VAEMP | F + IY 
    ppmlhdfe F2.${depvar}_${ttt} MINW HSW GDPGAP VAEMP stockown stockownzero stockother stockotherzero spilloversown spilloversownzero spilloversother spilloversotherzero if year>=1995 & minwhctry_weight_minwMP < 1 & missing_weights_minw_1995==0 & missing_spill_weights_1995 == 0 & total_${depvar}_${ttt}_1995>0, vce(cluster lse_id)  absorb(lse_id yearindustry)
    hasvar spill* stock*, local(stockspill)
    estadd local f "\yes"
    estadd local iy "\yes"
    estadd local cy "\no"
    estadd local obs "{\num{`e(N)'}}"
    estadd local firms "{\num{`e(N_clust)'}}"
    estimates store col_2
    * 3) GDPPC | F + IY
    ppmlhdfe F2.${depvar}_${ttt} MINW HSW GDPGAP GDPPC stockown stockownzero stockother stockotherzero spilloversown spilloversownzero spilloversother spilloversotherzero if year>=1995 & minwhctry_weight_minwMP < 1 & missing_weights_minw_1995==0 & missing_spill_weights_1995 == 0 & total_${depvar}_${ttt}_1995>0, vce(cluster lse_id)  absorb(lse_id yearindustry)
    hasvar spill* stock*, local(stockspill)
    estadd local f "\yes"
    estadd local iy "\yes"
    estadd local cy "\no"
    estadd local obs "{\num{`e(N)'}}"
    estadd local firms "{\num{`e(N_clust)'}}"
    estimates store col_3	
    * 4) F + IY + CY
    ppmlhdfe F2.${depvar}_${ttt} MINW HSW GDPGAP stockown stockownzero stockother stockotherzero spilloversown spilloversownzero spilloversother spilloversotherzero if year>=1995 & minwhctry_weight_minwMP < 1 & missing_weights_minw_1995==0 & missing_spill_weights_1995 == 0 & total_${depvar}_${ttt}_1995>0, vce(cluster lse_id)  absorb(lse_id yearindustry yearctry)
    hasvar spill* stock*, local(stockspill)
    estadd local f "\yes"
    estadd local iy "\yes"
    estadd local cy "\yes"
    estadd local obs "{\num{`e(N)'}}"
    estadd local firms "{\num{`e(N_clust)'}}"
    estimates store col_4
    * 5) VAEMP | F + IY + CY
    ppmlhdfe F2.${depvar}_${ttt} MINW HSW GDPGAP VAEMP stockown stockownzero stockother stockotherzero spilloversown spilloversownzero spilloversother spilloversotherzero if year>=1995 & minwhctry_weight_minwMP < 1 & missing_weights_minw_1995==0 & missing_spill_weights_1995 == 0 & total_${depvar}_${ttt}_1995>0, vce(cluster lse_id)  absorb(lse_id yearindustry yearctry)
    hasvar spill* stock*, local(stockspill)
    estadd local f "\yes"
    estadd local iy "\yes"
    estadd local cy "\yes"
    estadd local obs "{\num{`e(N)'}}"
    estadd local firms "{\num{`e(N_clust)'}}"
    estimates store col_5
    * 6) GDPPC | F + IY + CY
    ppmlhdfe F2.${depvar}_${ttt} MINW HSW GDPGAP GDPPC stockown stockownzero stockother stockotherzero spilloversown spilloversownzero spilloversother spilloversotherzero if year>=1995 & minwhctry_weight_minwMP < 1 & missing_weights_minw_1995==0 & missing_spill_weights_1995 == 0 & total_${depvar}_${ttt}_1995>0, vce(cluster lse_id)  absorb(lse_id yearindustry yearctry)
    hasvar spill* stock*, local(stockspill)
    estadd local f "\yes"
    estadd local iy "\yes"
    estadd local cy "\yes"
    estadd local obs "{\num{`e(N)'}}"
    estadd local firms "{\num{`e(N_clust)'}}"
    estimates store col_6	

    clonevar GDPPC_foreign = gdppcMPx_shr4_foreign_1995_a
    clonevar VAEMP_foreign = vaempMPx_shr4_foreign_1995_a
    clonevar GDPgap_foreign = lngdpgapx_shr_foreign_1995_a
    clonevar LSW_foreign = lswMPx_shr4_foreign_1995_a
    clonevar HSW_foreign = hswMPx_shr4_foreign_1995_a
    clonevar MINW_foreign = minwMPx_shr4_foreign_1995_a

    * 7) F + IY + CY | Foreign
    ppmlhdfe F2.${depvar}_${ttt} MINW_foreign HSW_foreign GDPgap_foreign stockown stockownzero stockother stockotherzero spilloversown spilloversownzero spilloversother spilloversotherzero if year>=1995 & minwhctry_weight_minwMP < 1 & missing_weights_minw_1995==0 & missing_spill_weights_1995 == 0 & total_${depvar}_${ttt}_1995>0, vce(cluster lse_id)  absorb(lse_id yearindustry yearctry) 
    hasvar spill* stock*, local(stockspill)
    estadd local f "\yes"
    estadd local iy "\yes"
    estadd local cy "\yes"
    estadd local obs "{\num{`e(N)'}}"
    estadd local firms "{\num{`e(N_clust)'}}"
    estimates store col_7
    * 8) VAEMP | F + IY + CY | Foreign
    ppmlhdfe F2.${depvar}_${ttt} MINW_foreign HSW_foreign GDPgap_foreign VAEMP_foreign stockown stockownzero stockother stockotherzero spilloversown spilloversownzero spilloversother spilloversotherzero if year>=1995 & minwhctry_weight_minwMP < 1 & missing_weights_minw_1995==0 & missing_spill_weights_1995 == 0 & total_${depvar}_${ttt}_1995>0, vce(cluster lse_id)  absorb(lse_id yearindustry yearctry)
    hasvar spill* stock*, local(stockspill)
    estadd local f "\yes"
    estadd local iy "\yes"
    estadd local cy "\yes"
    estadd local obs "{\num{`e(N)'}}"
    estadd local firms "{\num{`e(N_clust)'}}"
    estimates store col_8
    * 9) GDPPC | F + IY + CY | Foreign
    ppmlhdfe F2.${depvar}_${ttt} MINW_foreign HSW_foreign GDPgap_foreign GDPPC_foreign stockown stockownzero stockother stockotherzero spilloversown spilloversownzero spilloversother spilloversotherzero if year>=1995 & minwhctry_weight_minwMP < 1 & missing_weights_minw_1995==0 & missing_spill_weights_1995 == 0 & total_${depvar}_${ttt}_1995>0, vce(cluster lse_id)  absorb(lse_id yearindustry yearctry)
    hasvar spill* stock*, local(stockspill)
    estadd local f "\yes"
    estadd local iy "\yes"
    estadd local cy "\yes"
    estadd local obs "{\num{`e(N)'}}"
    estadd local firms "{\num{`e(N_clust)'}}"
    estimates store col_9

    setlabels

    dhoztab * using ${tab_dir}/main/Table_9_minimum_wage.tex, b(%10.2f) se(%10.2f) nogaps replace numbers nonotes nolines nomtitles sfmt(a1) scalars("has_stockspill \noalign{\medskip} Stocks and spillovers" "f Firm fixed effects" "iy Industry \stimes year fixed effects" "cy Country \stimes year fixed effects" "obs \noalign{\medskip} Observations"  "firms Number of firms") label mgroups("Domestic and foreign" "Foreign", pattern(1 0 0 0 0 0 1 0 0) span prefix(\multicolumn{@span}{c}{) suffix(}) erepeat(\cmidrule(lr){@span})) drop(*zero _cons spill* stock*) noobs rename(LSW_foreign LSW HSW_foreign HSW GDPgap_foreign GDPGAP VAEMP_foreign VAEMP GDPPC_foreign GDPPC LSWHSW_foreign LSWHSW MINW_foreign MINW) depvar("Auto95") notes("This table replaces the low-skill wage with the minimum wage. All columns include firm and industry-year fixed effects. Columns 4--9 add country-year fixed effects. In Columns 7--9, the macroeconomic variables are the normalized foreign variables as defined in the text.  Standard errors are clustered at the firm-level and reported in parentheses.")
    *again, brackets do work even if vscode shows them as wrong
}
if _rc == 0 {
    display "Execution finished successfully."
}
else {
    display "Execution finished with errors."
}

cap log close tabl